#include <winsock2.h>
#include <sslsock.h>
#include <connmgr.h>


#define DllExport extern "C" __declspec(dllexport)

//ensures that the connection manager is ready
DllExport int ensureconnmgrready(LPWSTR pErrorString);

//helps enumerate the available connections
DllExport int enumerateconnections(int pIndex, LPWSTR pConnInfo);

//ensure connected to the internet
DllExport int ensureconnected(LPWSTR pErrorString, LPWSTR pHostName, bool pUseSpecific, int pSpecificNetwork);

//close an ssl socket
DllExport int sslsocketclose(int pSocket, int &pError);

//set up an ssl socket
DllExport int sslsocket(LPWSTR pHostName, int pPort, LPWSTR pErrorString);

//receive on an ssl socket, time out based on timeout_minutes
DllExport int sslrecv(int pSocket, LPWSTR pBuffer, int timeout_minutes, int &pError);

//send on an ssl socket.
DllExport int sslsend(int pSocket, LPWSTR pBuffer, int &pError);


